package org.exhaust.barbecue.annotation;

import org.exhaust.barbecue.action.AbstractPostAction;
import org.exhaust.barbecue.action.AbstractPrepareAction;
import org.exhaust.barbecue.action.AbstractServiceAction;
import org.exhaust.barbecue.action.AbstractValidatorAction;

import java.lang.annotation.*;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Processor {
    Class<? extends AbstractValidatorAction>[] validate() default {};

    Class<? extends AbstractPrepareAction>[] prepare() default {};

    Class<? extends AbstractServiceAction>[] service() default {};

    Class<? extends AbstractPostAction>[] post() default {};
}
